import axios from "axios";
import qs from "qs";
import router from "@/router";

export function request(my_config) {
    // 1.创建实例
    const instance = axios.create({
        baseURL: 'http://124.133.35.234:8000',   //2 配置多个proxy时 baseURL为/                     3.使用：多个连接需要配置跨域时：名字/网址 例如api/sys/login (/sys/login為網址)
        // baseURL: 'http://192.168.1.100:8081/',  //如果vue.config.js只有一個api  baseURL: 'api'   使用：一个连接需要配置跨域使用时：网址   例如/sys/login（前面不需要加proxy里名字）
        // baseURL: 'http://192.168.1.104:8080/cherry-tomatoes',   //固定鏈接
        timeout: 5000,
        // headers: {
        //     //把token放到请求头才能请g求，这里的'Bearer '表示是后台希望更加的安全，依据后台给的信息看到底是加还是不加
        //     // 'Authorization': 'Bearer ' + localStorage.getItem('token'),
        //     'Content-Type': "application/json;charset=UTF-8",
        //     'Authorization': localStorage.getItem('Authorization'),
        // },
    });
    // 2.给post请求的data 用qs.stringify转换成URL格式
    if (my_config.data != null && Object.keys(my_config.data).length != 0) {
        my_config.data = qs.stringify(my_config.data);
    }

    // 3.请求拦截
    instance.interceptors.request.use(
        config => {
            //console.log(config);
            return config;
        },
        err => {
            console.log(err);
        }
    );

    // 4.响应拦截
    instance.interceptors.response.use(
        result => {
            //console.log(result);
            return result.data;
        },
        err => {
            console.log(err);
        }
    );


    // 导航守卫
// 使用 router.beforeEach 注册一个全局前置守卫，判断用户是否登陆

    // router.beforeEach((to, from, next) => {
    //     if (to.path === '/login') {
    //         next();
    //     } else {
    //         let token = localStorage.getItem('Authorization');
    //         if (token === 'null' || token === '') {
    //             next('/login');
    //         } else
    //             next();
    //     }
    // })
// export default router;


    // 5.返回实例
    return instance(my_config);
}
